package applications;

import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;

import org.apache.wicket.model.IModel;

import jugador.Jugador;

import apuesta.Columna;
import apuesta.Fila;
import apuesta.Impar;
import apuesta.Par;
import apuesta.Pleno;
import apuesta.TipoApuesta;

public class ApuestasApplication implements Serializable{
	List<TipoApuesta> tiposDeApuesta = new LinkedList<TipoApuesta>();
	TipoApuesta tipoActual;
	Integer opcion = 0;
	List<Object> opcionesP = new LinkedList<Object>();
	Integer cantidad;
	Jugador jugador;
	
	public ApuestasApplication(Jugador j) {
		this.jugador = j;
		inicializarApuestas();
	}
	public List<TipoApuesta> getTiposDeApuesta() {
		return tiposDeApuesta;
	}
	public void setTiposDeApuesta(List<TipoApuesta> tiposDeApuesta) {
		this.tiposDeApuesta = tiposDeApuesta;
	}
	public TipoApuesta getActual() {
		return tipoActual;
	}
	public void setActual(TipoApuesta actual) {
		this.tipoActual = actual;
	}
	
	public void apostar() {
		RuletaApplication.getInstance().getMesa().apostar(jugador, tipoActual, opcion, cantidad);

	}


	
	private void inicializarApuestas() {
		tiposDeApuesta.add(new Pleno());
		tiposDeApuesta.add(new Columna());
		tiposDeApuesta.add(new Par());
		tiposDeApuesta.add(new Impar());
		tiposDeApuesta.add(new Fila());
		
		
	}
	public boolean tipoActualEsParOImpar() {
		return tipoActual.equals(new Par()) || tipoActual.equals(new Impar());
	}
	public TipoApuesta getTipoActual() {
		return tipoActual;
	}
	public void setTipoActual(TipoApuesta tipoActual) {
		this.tipoActual = tipoActual;
	}
	public Integer getOpcion() {
		return opcion;
	}
	public void setOpcion(Integer opcion) {
		this.opcion = opcion;
	}
	public List<Object> getOpcionesP() {
		return opcionesP;
	}
	public void setOpcionesP(List<Object> opcionesP) {
		this.opcionesP = opcionesP;
	}
	public Integer getCantidad() {
		return cantidad;
	}
	public void setCantidad(Integer cantidad) {
		this.cantidad = cantidad;
	}
	public Jugador getJugador() {
		return jugador;
	}
	public void setJugador(Jugador jugador) {
		this.jugador = jugador;
	}

}
